package ltd.hanamaki.study.method;

/**
 * 递归 ？就是方法调用自己
 * 阶乘
 * 5！=5*4*3*2*1
 */
public class Demo06 {

    public static void main(String[] args) {
//        t();
        int f = f(50);

        System.out.println(f);

        int sum = sum(100);
        System.out.println(sum);
    }

    /* 如果 想要使用 递归来来解决一些简单的 问题
    * 递归分为两部分
    * 1. 递归头
    * 2. 递归体
    *
    *  */
    public static void t() {
        t();
    }

    public static int f(int num) {
        if (num == 1) {
            return 1;
        } else {
            return num * f(num - 1);
        }
    }

    /**
     * 使用递归计算 1--100的和
     */

    public static int sum(int num) {
        if (num == 0) {
            return 0;
        } else {
            return num + sum(num - 1);
        }
    }
}
